package com.gaeig.repository;

import java.util.List;

public interface Repository {

  void delete(Object... objects);

  void save(Object... objects);

  void refresh(Object obj);

  <T extends Object> List<T> findAll(Class<T> clz);

  <T> T getObjectById(Object objectId, Class<T> clz);

  <T> List<T> findByNamedQuery(String queryName, Class<T> clz);

  <T> List<T> findByNamedQuery(String queryName, Class<T> clz, Object... values);
}
